home *** CD-ROM | disk | FTP | other *** search
/ PC Media 4 / PC MEDIA CD04.iso / share / prog / encom160 / start.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-22  |  1.9 KB  |  53 lines

  1. /****************************************************************************/
  2. /* START.H                                                                  */
  3. /*                                                                          */
  4. /* This header has the necessary references for taking over the keyboard,   */
  5. /* so that CTRL-C and CTRL-BREAK do not kick you out of the program!  This  */
  6. /* unfortunately is rather messy when every compiler wants the prototypes   */
  7. /* and such in different syntax, but here it is.                            */
  8. /****************************************************************************/
  9.  
  10. /*------------------- interrupt globals and prototypes ---------------------*/
  11. #ifdef __WATCOMC__
  12. void (interrupt far *(old_vect23))(void);
  13. void (interrupt far *(old_vect1b))(void);
  14. void interrupt far en_ctrl_brk() {}
  15. void interrupt far en_ctrl_c() {}
  16. #else
  17. #ifdef __ZTC__
  18. int (EN_FAR *(old_vect23))();
  19. int (EN_FAR *(old_vect1b))();
  20. int EN_FAR en_ctrl_brk() {return(1);}
  21. int EN_FAR en_ctrl_c() {return(1);}
  22. void interrupt EN_FAR *getvect( int vect_no )
  23. {
  24.   uint seg, off;
  25.   int_getvector(vect_no, &off, &seg);
  26.   return(EN_MK_FP(seg,off));
  27. void setvect( int vect_no, void interrupt EN_FAR *fp )
  28. {
  29.   int_setvector(vect_no, EN_FP_OFF(fp), EN_FP_SEG(fp));
  30. #else
  31. #ifdef M_I86
  32. void (interrupt EN_FAR *(old_vect23))();
  33. void (interrupt EN_FAR *(old_vect1b))();
  34. void interrupt EN_FAR en_ctrl_brk() {}
  35. void interrupt EN_FAR en_ctrl_c() {}
  36. #else
  37. #if  defined(__cplusplus) || defined(__POWERC)
  38. void interrupt EN_FAR (*old_vect23)(...);
  39. void interrupt EN_FAR (*old_vect1b)(...);
  40. void interrupt EN_FAR en_ctrl_brk(...) {}
  41. void interrupt EN_FAR en_ctrl_c(...) {}
  42. #else
  43. void (interrupt EN_FAR *(old_vect23))(void);
  44. void (interrupt EN_FAR *(old_vect1b))(void);
  45. void interrupt EN_FAR en_ctrl_brk() {}
  46. void interrupt EN_FAR en_ctrl_c() {}
  47. #endif
  48. #endif
  49. #endif
  50. #endif
  51.